/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mvc.dao;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.Seguimiento;

/**
 *
 * @author pezcado
 */
public class SeguimientoDAO implements IDAO<Seguimiento> {

    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;

    public Seguimiento consultar(int codigo) throws SQLException {
        String sql="select codigo, faltaPractica, asistenciaPractica, rendimiento, comportamiento, nota,"
                + "id, estado, descripcion from Seguimiento where codigo="+codigo;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        Seguimiento seguimiento= new Seguimiento();
            
        try{
            resultSet.next();

            seguimiento.setCodigo(resultSet.getInt("codigo"));
            seguimiento.setFaltaPractica(resultSet.getString("faltaPractica"));
            seguimiento.setAsistenciaPractica(resultSet.getString("asistenciaPractica"));
            seguimiento.setRendimiento(resultSet.getString("rendimiento"));
            seguimiento.setComportamiento(resultSet.getString("comportamiento"));
            seguimiento.setNota(resultSet.getString("nota"));
            seguimiento.setId(resultSet.getInt("id"));
            seguimiento.setEstado(resultSet.getString("estado"));
            seguimiento.setDescripcion(resultSet.getString("descripcion"));

            //return seguimiento;
        }catch(Exception e){

        }
        return seguimiento;
    }

    public void insertar(Seguimiento IDAO) throws SQLException {
        model.getInstance();
        if(insertar==null){
            String sql="insert into Seguimiento values(?,?,?,?,?,?,?,?,?)";
            insertar= model.getCon().prepareStatement(sql);
        }
        insertar.setInt(1, IDAO.getCodigo());
        insertar.setString(2, IDAO.getFaltaPractica());
        insertar.setString(3, IDAO.getAsistenciaPractica());
        insertar.setString(4, IDAO.getRendimiento());
        insertar.setString(5, IDAO.getComportamiento());
        insertar.setString(6, IDAO.getNota());
        insertar.setInt(7, IDAO.getId());
        insertar.setString(8, IDAO.getEstado());
        insertar.setString(9, IDAO.getDescripcion());
        
        insertar.executeUpdate();
    }

    public void modificar(Seguimiento IDAO) throws SQLException {
        String sql="update Seguimiento set"
                + "faltaPractica='"+IDAO.getFaltaPractica()+"',"
                + "asistenciaPractica='"+IDAO.getAsistenciaPractica()+"',"
                + "rendimiento='"+IDAO.getRendimiento()+"',"
                + "comportamiento='"+IDAO.getComportamiento()+"',"
                + "nota='"+IDAO.getNota()+"',"
                //+ "id='"+IDAO.getId()+"',"
                + "estado='"+IDAO.getEstado()+"',"
                + "descripcion='"+IDAO.getDescripcion()+","
                + "where codigo="+IDAO.getCodigo();

        modificar= model.getCon().prepareStatement(sql);
        modificar.executeUpdate();
    }

     public void eliminar(Seguimiento IDAO) throws SQLException {
        model.getInstance();
        String sql="delete from Seguimiento where codigo="+IDAO.getCodigo();
        eliminar=model.getCon().prepareStatement(sql);
        eliminar.executeUpdate();
    }

    public LinkedList<Seguimiento> listar() throws SQLException {
        model.getInstance();
        LinkedList<Seguimiento> lista= new LinkedList<Seguimiento> ();
        String sql="SELECT codigo, faltaPractica, asistenciaPractica, rendimiento, comportamiento, nota,"
                + "id, estado, descripcion FROM Seguimiento";
        listar= model.getCon().prepareStatement(sql);
        ResultSet resultSet= listar.executeQuery();
        
        while(resultSet.next()){
            Seguimiento seguimiento= new Seguimiento();
            seguimiento.setCodigo(resultSet.getInt("codigo"));
            seguimiento.setFaltaPractica(resultSet.getString("faltaPractica"));
            seguimiento.setAsistenciaPractica(resultSet.getString("asistenciaPractica"));
            seguimiento.setRendimiento(resultSet.getString("rendimiento"));
            seguimiento.setComportamiento(resultSet.getString("comportamiento"));
            seguimiento.setNota(resultSet.getString("nota"));
            seguimiento.setId(resultSet.getInt("codigo"));
            seguimiento.setEstado(resultSet.getString("estado"));
            seguimiento.setDescripcion(resultSet.getString("descripcion"));
            
            lista.add(seguimiento);
            
        }
        return lista;
    }
    
}
